package com.catmiao.spark.rdd.builder

import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}

/**
 * @title: RDD_Create_01_Memory
 * @projectName spark_study
 * @description: TODO
 * @author ChengMiao
 * @date 2024/2/1 11:33
 */
object RDD_Create_01_Memory_par {

  def main(args: Array[String]): Unit = {

    val sparkCon = new SparkConf().setMaster("local[*]").setAppName("rdd")

    sparkCon.set("spark.default.parallelism","4") // 指定spark环境最大可用核心数
    val sparkContext = new SparkContext(sparkCon)


    // RDD 的 并行度 & 分区
    // makeRDD的第二个参数 表示分区数量【切片数量】
    // 第二个参数可以不传递 如果不传递会使用默认值 默认并行度【从SparkConf中取配置参数，如果没有配则取默认值 CPU核心数】
//    val rdd = sparkContext.makeRDD(List(1, 2, 3, 4), 2)
    val rdd = sparkContext.makeRDD(List(1, 2, 3, 4))

    // 将处理的数据保存成分区文件
    rdd.saveAsTextFile("output")


    sparkContext.stop()

  }

}
